package com.dgshanger.sanhxiaofeisc.mvp.contract;

import android.support.annotation.NonNull;

import com.xx.baseuilibrary.mvp.BaseMvpView;
import com.xx.baseutilslibrary.network.rx.XxBaseHttpObserver;


/**
 * ForgetPwContract
 * 沉迷学习不能自拔
 * Describe：
 * Created by 雷小星🍀 on 2018/2/6 11:42.
 */

public interface ForgetPwContract {
    interface Model {
        /**
         * 发送验证码
         *
         * @param phone 手机号
         */
        void sendVCode(@NonNull String phone, XxBaseHttpObserver<Object> httpObserver);

        /**
         * 修改密码
         *
         * @param phone    手机号
         * @param vCode    验证码
         * @param password 新密码
         */
        void changePw(String phone, String vCode, String password, XxBaseHttpObserver<Object> httpObserver);
    }

    interface View extends BaseMvpView {

        /**
         * 获取手机号
         */
        String getPhone();

        /**
         * 获取验证码
         */
        String getVCode();

        /**
         * 获取新密码
         */
        String getNewPw();

        /**
         * 获取旧密码
         */
        String getSurePw();

        /**
         * 设置发送按钮可用状态
         *
         * @param enable 可用状态
         */
        void setSendBtnEnable(boolean enable);

        /**
         * 设置发送按钮文本内容
         *
         * @param content 发送按钮文本内容
         */
        void setSendBtnText(String content);

        /**
         * 修改成功
         */
        void changeSuccess();
    }

    interface Presenter {
        /**
         * 确认修改
         */
        void changePw();

        /**
         * 发送验证码
         */
        void sendVCode();
    }
}
